package chapter05

/**
  * 控制抽象
  */
object Test11_ControlAbstraction {

  def main(args: Array[String]): Unit = {
    // 1.传值参数:把计算后的值传递过去
    def f0(a: Int): Unit = {
      println("a:" + a)
      println("a:" + a)
    }

    f0(123)

    // 1.2 传值参数
    def f1(): Int = {
      println("f1调用")
      12
    }

    f0(f1())


    println("=========================================")
    //2. 名调用:把代码块传递过去,b被使用几次，b中的代码块就执行几次
    def f2(b: => Int): Unit = {
      println("b:" + b)
      println("b:" + b)
    }

    f2(23)
    f2(f1())

    println("=========================================")

    f2({println("代码块"); 23})

  }
}
